Global Software Pipelining with Iteration Preselection
نویسنده
چکیده
Software pipelining loops containing multiple paths is a very diicult problem. Loop shifting ooers the possibility of a close to optimal schedule with acceptable code growth. Deciding how often to shift each operation is diicult, and existing heuristics are rather ad hoc. We separate loop shifting from scheduling, and present new, non-greedy heuris-tics. Experimental results show that our approach yields better performance and less code growth.
منابع مشابه
Optimal Software Pipelining in Presence of Resource Constraints
This paper presents a new class of algorithms for loop software pipelining in presence of resource constraints. This new approach allows to generate optimal code with respect to throughput even for processors with complex resource constraints which make them hard to program even by hand. It consists of two steps: rst, we build the reservation table for the body of the software pipelined loop by...
متن کاملEnhanced Loop Flattening for Software Pipelining of Arbitrary Loop Nests
This paper introduces and evaluates enhanced loop flattening, a compiler framework for transforming an arbitrary set of nested and sequenced loops into a single loop with additional logic to implement the control flow of the original code. Loop flattening allows conventional software pipelining algorithms to effectively pipeline nested loops. Conventional software pipelining approaches are only...
متن کاملA Formal Model of Software Pipelining Loops with Conditions
This paper addresses the problem of parallelizing loops with conditional branches in the context of software pipelining. A new formal approach to this problem is proposed in the form of Predicated Software Pipelining (PSP) model. The PSP model represents execution of a loop with conditional branches as transitions of a finite state machine. Each node of the state machine is composed of operatio...
متن کاملA Software Pipelining Method Based on a Hierarchical Social Algorithm
Software pipelining is a compile-time scheduling technique that overlaps successive loop iterations to achieve instruction-level parallelism. It allows us to hide memory latency by overlapping the prefetches for a future iteration with the computation of the current iteration. This paper presents an efficient algorithm for determining the iteration bound of cyclic data flow graphs and the optim...
متن کاملSoftware pipelining of nested loops
This paper presents an approach to software pipelining of nested loops. While several papers have addressed software pipelining of inner loops, little work has been done in the area of extending it to nested loops. This paper solves the problem of nding the minimum iteration initiation interval (in the absence of resource constraints) for each level of a nested loop. The problem is formulated a...
متن کامل